#ifndef _CLIPBOARDPANEL_
#define _CLIPBOARDPANEL_

#include "Graphics/Graphics.hpp"
#include "Content/Map.hpp"
#include "Utilities/StringHelper.hpp"
#include <vector>

/** 
* Panel that contains and displays the copy clipboard.
*/
class ClipboardPanel:public Panel{
public:
	
	/** A tile description of a tile that has been copied. */
    struct CopyTile{
		/** Tile number. */
        int tile;
		/** Layer of tile. */
        int layer;
		/** Sprite index. */
        int sprite;

        int x;
        int y;
    };

private:
	/** Panel title. */
    Label title;

	/** Clipboard size. */
    Label info;

	/** Texture on which clipboard is rendered. */
    sf::RenderTexture* clipboardDraw;
    sf::Sprite clipboardSprite;
    
public:
	/** Copied tiles in clipboard.*/
    vector<CopyTile> clipboard;

    ClipboardPanel();

    void updateClipboard(Map* map, SpriteManager* spriteManager, sf::Rect<int>& marquee);
};

#endif